# -*- coding: utf-8 -*-
# @Time        :2025/3/12 20:50
# @Author      :文刀水寿
# @File        : 31_爬虫_selenium_handless-chrome.py
"""
 @Description : Chrome handless
"""
# 1.系统要求：
#                                             chrome
#                                                     Unix\Linux 系统需要 chrome >= 59
#                                                     Windows 系统需要 chrome >= 60
#                                             python 3.6
#                                             Selenium==3.4*
#                                             ChromeDriver==2.31
#                                 2.配置
#                                 from selenium import webdriver
#                                 from selenium.webdriver.chrome.options import Options
#
#                                 chrome_options = Options()
#                                 chrome_options.add_argument('--headless')
#                                 chrome_options.add_argument('--disable-gpu')
#
#                                 path = r'C:\Users\刘涛\AppData\Local\Google\Chrome\Application\chrome.exe'
#                                 chrome_options.binary_location = path
#
#                                 browser = webdriver.Chrome(options=chrome_options)
#
#                                 browser.get('https://www.baidu.com/')


from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import time


def share_browser():
    # 配置 Chrome 选项
    options = Options()
    options.add_argument('--headless=new')  # 无头模式（Chrome 112+）
    options.add_argument('--disable-gpu')  # 禁用 GPU 加速
    options.add_argument('--window-size=1920,1080')  # 必须设置窗口尺寸
    options.add_argument('--disable-dev-shm-usage')  # 防止内存不足崩溃

    # 指定 chromedriver.exe 的正确路径（非 chrome.exe！）
    chromedriver_path = r'D:\PythonCharm\PyCharmProject\pythonProject\爬虫\chromedriver.exe'  # 替换为你的实际路径

    # 创建 Service 实例
    service = Service(executable_path=chromedriver_path)

    # 启动浏览器
    browser = webdriver.Chrome(service=service, options=options)

    return browser


# 测试代码
browser = share_browser()
try:
    browser.get('https://www.baidu.com')

    # 显式等待确保页面加载（关键）
    time.sleep(2)  # 简单等待，生产环境建议用 WebDriverWait

    # 保存截图
    browser.save_screenshot('baidu.png')
    print("截图成功！")
finally:
    browser.quit()
